Modern computing systems are increasingly based on modular designs. In one typical approach, a server comprises a rack of multiple shelves, each shelf potentially holding multiple computing subsystems referred to as blades. Such an architecture has the advantages of easy scalability (processing capacity can be adjusted by simply adding blades to or removing blades from the rack, as appropriate) and fault tolerance (if any particular blade fails, its processing load can be transferred to one or more other blades).
One drawback with such a blade architecture is that system configuration can become a relatively time-consuming operation. Thus in a typical implementation, each shelf incorporates at least one system controller that can be used to configure all of the blades within that shelf. In larger installations there may be multiple shelves in a rack, and indeed multiple racks. Consequently, there may be a significant number of shelves, and hence system controllers, to be supplied with configuration information. In many existing systems, such configuration has to be done separately for each system controller in question. In addition, there may be other components within a shelf that need configuration apart from the system controller, such as a switch or firewall device. If the number of shelves in the system is large, it will be appreciated that configuration of the complete system therefore represents a rather laborious task.